const fs = require('fs');
const path = require('path');

console.log('🔄 开始强制刷新所有数据...\n');

// 1. 清除数据库中的所有数据
async function clearDatabase() {
  console.log('🗑️ 清除数据库中的所有数据...');
  
  const { MongoClient } = require('mongodb');
  const uri = 'mongodb://localhost:27017';
  const client = new MongoClient(uri);
  
  try {
    await client.connect();
    const db = client.db('cosmetic_surgery');
    
    // 删除所有集合
    await db.collection('banners').deleteMany({});
    await db.collection('products').deleteMany({});
    await db.collection('hospitals').deleteMany({});
    await db.collection('doctors').deleteMany({});
    
    console.log('✅ 数据库清除完成');
  } catch (error) {
    console.error('❌ 数据库清除失败:', error);
  } finally {
    await client.close();
  }
}

// 2. 重新导入数据
async function reimportData() {
  console.log('📥 重新导入所有数据...');
  
  try {
    // 运行导入脚本
    const { execSync } = require('child_process');
    execSync('node scripts/importData.js', { stdio: 'inherit' });
    console.log('✅ 数据重新导入完成');
  } catch (error) {
    console.error('❌ 数据重新导入失败:', error);
  }
}

// 3. 验证数据
async function verifyData() {
  console.log('🔍 验证数据是否正确更新...');
  
  try {
    const { execSync } = require('child_process');
    execSync('node test-api.js', { stdio: 'inherit' });
    console.log('✅ 数据验证完成');
  } catch (error) {
    console.error('❌ 数据验证失败:', error);
  }
}

// 主函数
async function main() {
  console.log('🚀 开始强制刷新流程...\n');
  
  await clearDatabase();
  console.log('');
  
  await reimportData();
  console.log('');
  
  await verifyData();
  console.log('');
  
  console.log('🎉 强制刷新完成！');
  console.log('📋 接下来你需要做的：');
  console.log('1. 重启微信开发者工具');
  console.log('2. 清除所有缓存（清缓存 → 清除全部缓存）');
  console.log('3. 重新编译项目');
  console.log('4. 检查图片是否已更新为picsum.photos的稳定图片');
  console.log('\n💡 如果还是显示旧图片，请尝试：');
  console.log('- 删除微信开发者工具的缓存文件夹');
  console.log('- 重启电脑');
  console.log('- 使用不同的浏览器或设备测试');
}

main().catch(console.error);
